#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <assert.h>

void* my_memcpy(void* arr1, const void* arr2, size_t num)
{
	void* ret = arr1;

	assert(arr1 && arr2);
	while (num--)
	{
		*(char*)arr1 = *(char*)arr2;
		arr1 = (char*)arr1 + 1;
		arr2 = (char*)arr2 + 1;
	}

	return ret;
}

int main()
{

	int arr1[10] = { 1,2,3,4,5,6, };
	int arr2[10] = { 7,8,9 };

	my_memcpy(arr1, arr2, 12);
	for (int i = 0; i < 6; i++)
	{
		printf("%d ",arr1[i]);;
	}


	return 0;
}


//int main()
//{
//
//	int arr1[10] = { 1,2,3,4,5,6 };
//	int arr2[10] = { 7,8,9 };
//
//	memcpy(arr1, arr2, 12);
//	for (int i = 0; i < 6; i++)
//	{
//		printf("%d ",arr1[i]);;
//	}
//
//	return 0;
//}

//int main()
//{
//
//	char str1[20] = "haha";
//	char str2[20] = "hehe\0hio";
//
//	strncpy(str1, str2, 7);
//
//	printf("%s", str1);
//	return 0;
//}
//
